// admin/user-manage/user-manage.js
// const db = wx.cloud.database(); // <-- ***删除：不再直接访问数据库***
const util = require('../../utils/util.js');

Page({
  data: {
    users: [],
    loading: true
  },

  onShow: function () {
    this.getUsers();
  },

  // --- *** 修改：使用云函数获取列表 *** ---
  getUsers: function () {
    this.setData({ loading: true });
    wx.cloud.callFunction({
      name: 'manageusers',
      data: {
        action: 'getList'
      }
    }).then(res => {
      if (res.result.success) {
        res.result.data.forEach(user => {
          // (您的 users 集合似乎没有 registerTime 字段，用 updatedAt 代替)
          // (如果您确认有 registerTime，请将 'updatedAt' 改回 'registerTime')
          if(user.updatedAt) {
            user.registerTimeFormatted = util.formatTime(new Date(user.updatedAt));
          } else {
             user.registerTimeFormatted = 'N/A'; // 兼容没有时间戳的用户
          }
        });
        this.setData({
          users: res.result.data,
          loading: false
        });
      } else {
        this.setData({ loading: false });
        wx.showToast({
          title: res.result.message || '加载用户失败',
          icon: 'none'
        });
      }
    }).catch(err => {
      this.setData({ loading: false });
      wx.showToast({
        title: '加载用户失败',
        icon: 'none'
      });
      console.error('获取用户列表失败', err);
    });
  },
  
  // --- *** 修改：使用云函数更新状态 *** ---
  toggleUserStatus: function(e) {
    const userId = e.currentTarget.dataset.id;
    const isBanned = e.currentTarget.dataset.banned;
    const newBanStatus = !isBanned; // 计算出新状态

    wx.showModal({
      title: '确认操作',
      content: `确定要${newBanStatus ? '封禁' : '解禁'}该用户吗？`,
      success: res => {
        if (res.confirm) {
          wx.showLoading({ title: '操作中...' });
          wx.cloud.callFunction({
            name: 'manageusers', // <-- ***已修正为新函数***
            data: {
              action: 'toggleBan',
              userId: userId,
              data: {
                isBanned: newBanStatus // 传入新状态
              }
            }
          }).then((res) => {
            wx.hideLoading();
            if (res.result.success) {
              wx.showToast({ title: '操作成功' });
              this.getUsers();
            } else {
               wx.showToast({ title: res.result.message || '操作失败', icon: 'none' });
            }
          }).catch(() => {
            wx.hideLoading();
            wx.showToast({ title: '操作失败', icon: 'none' });
          });
        }
      }
    })
  }
});